--[[ 编码: JX-52-19 名称: 配盘明细-数量输入变化 作者:HAN 日期:2025-1-29 级别:项目 函数: AfterQtyChange 功能: -- 装箱数量输入变化后 更改记录: --]] jx_base= require( "jx_base" ) function AfterQtyChange ( strLuaDEID ) local nRet, strRetInfo local runtime_parameter nRet, runtime_parameter = m3.GetRuntimeParam(strLuaDEID) if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), "GetRuntimeParam失败! "..runtime_parameter ) end -- 获取【组盘输入】面板的参数 local parameter nRet, parameter = m3.GetRuntimePanel_InputParamter( strLuaDEID, runtime_parameter.panel, "出库分拣" ) if ( nRet == 1 ) then mobox.setInfo( strLuaDEID, "没有定义'出库分拣'面板参数!") return end if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), parameter ) end if ( parameter == nil ) then return end local id = parameter.id -- 当前点中的出库任务标识 local dc_no = parameter.dc_no -- 当前点中的出库任务所属配盘号 if ( dc_no == nil or dc_no == "") then mobox.setInfo( strLuaDEID, "'出库分拣'面板必须有 dc_no 参数!") return end -- 获取UPC nRet, strRetInfo = mobox.getCurEditDataObjAttr( strLuaDEID, "F_QTY","F_ACC_P_QTY" ) if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), "获取当前编辑属性失败! "..strRetInfo ) end local obj_attrs = json.decode( strRetInfo ) local qty = lua.Get_NumAttrValue( obj_attrs[1].value ) local acc_p_qty = lua.Get_NumAttrValue( obj_attrs[2].value ) if ( qty == 0 ) then return end if ( acc_p_qty >= qty ) then -- 设置UPC这里扫码拣料箱 if ( acc_p_qty > qty ) then acc_p_qty = qty end action = { { action_type = "set_dlg_attr", value = { { attr = "UPC", value = "", enable = true, prompt = "请扫拣货箱编码..." }, { attr = "Prompt", value = "请扫拣货箱编码..." }, { attr = "F_ACC_P_QTY", value = qty, enable = false }, } }, { action_type = "set_dlg_cursor", value = { ctrl_id = "UPC" } } } nRet, strRetInfo = mobox.setAction( strLuaDEID, lua.table2str(action) ) if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), "setAction失败! "..strRetInfo..' action = '..strAction ) end end end